﻿#region

using System.Data.Common;

#endregion

namespace HouseHoldBudget.Core.Data
{
    /// <summary>
    ///   Data provider interface
    /// </summary>
    public interface IDataProvider
    {
        #region Instance Properties

        /// <summary>
        ///   A value indicating whether this data provider supports stored procedures
        /// </summary>
        bool StoredProceduredSupported { get; }

        #endregion

        #region Instance Methods

        /// <summary>
        ///   Gets a support database parameter object (used by stored procedures)
        /// </summary>
        /// <returns> Parameter </returns>
        DbParameter GetParameter();

        /// <summary>
        ///   Initialize database
        /// </summary>
        void InitDatabase();

        #endregion
    }
}